详解 matplotlib 中的两种标注方法

您所在的位置:网站首页 python matplotlib 添加标注 详解 matplotlib 中的两种标注方法

详解 matplotlib 中的两种标注方法

2024-06-17 21:57:37| 来源: 网络整理| 查看: 265

在二维坐标图中我们经常对绘制的图形进行标注。在 matplotlib 中比较常用的有text和annotate两种标注方法,其中:

text称为无指向型标注,标注仅仅包含注释的文本内容;annotate称为指向型注释,标注不仅包含注释的文本内容还包含箭头指向,能够突显细节;plt.text()代码语言:javascript复制plt.text(x, y, s, fontdict = None, **kwargs)

其中:

x, y 为标注文本在绘图区域中的位置;s 为标注文本的内容;fontdict 为文本属性的字典,如果 fontdict 为 None,则使用默认的文本属性;**kwargs 可以使用键值对的形式替换 fontdict 中的文本属性;

fontdict 中常见的文本属性参数(其中 [] 为可选参数):

代码语言:javascript复制import numpy as np import matplotlib.pyplot as plt x = np.linspace(-np.pi, np.pi, 300) y = np.cos(x) plt.plot(x, y) plt.text(0, 0.75, r'max', fontdict = { 'family': 'Times New Roman', # 标注文本字体 'fontsize': 20, # 文本大小 'fontweight': 'bold', # 字体粗细 'fontstyle': 'italic', # 字体风格 'color': 'red', # 文本颜色 'backgroundcolor': 'blue', # 背景颜色 'bbox': {'boxstyle':'round'} # 椭圆外框 }) plt.text(-3, 0.75, r'$cos(x)$', family = 'Times New Roman', # 标注文本字体 fontsize = 18, # 文本大小 fontweight = 'bold', # 字体粗细 color = 'green' # 文本颜色 ) plt.plot(-3, 0.75, 'x', color = 'r') plt.show()

其中的 max 和

cos(x)

两个文本就是无指向型标注。这里需要注意:

matplotlib 支持 LaTex,因此标注文本的内容可以是数学公式。如果想要标注文本内容为数学公式,只需要在$之间输入 LaTex 语法即可。比如标注的公式为,只需要将标注文本的内容改成r'y = x^2在 cos(x)

的文本的旁边有一个红色的 x,这个 x 的位置和文本标注的位置都是 (-3, 0.75),可以看出标注文本中的 x 和 y 坐标就是标注文本左下角的位置;

plt.annotate()

annotate称为指向型注释,标注不仅包含注释的文本内容还包含箭头指向,matplotlib 中还有一个只能实现箭头标注的plt.arrow()函数,但是由于它生成的是 SVG 向量对象,因此会随着绘制图形的分辨率变化而变化,不太容易控制对应箭头的位置。「所以,如果要实现带有箭头的标注功能,一般使用plt.annotate()函数,如果只使用箭头标注,可以将plt.annotate()函数中标注文本的内容设置为空。」

代码语言:javascript复制plt.annotate(s, xy, *args, **kwargs)

其中:

s 为标注文本的内容;xy 为标注箭头的开始坐标 (x, y);*args 为 xytext = (x, y) 标注文本的坐标;**kwargs 主要为字典类型的 arrowprops 参数和键值对形式的 fontdict 中的任何参数;

fontdict 中的参数在介绍plt.text()无指向标注的时候提到过,这里不再赘述。arrowprops 中常见的箭头属性参数:

代码语言:javascript复制import numpy as np import matplotlib.pyplot as plt x = np.linspace(-np.pi, np.pi, 300) y = np.cos(x) plt.plot(x, y) plt.annotate(r'$max$', xy = (0, 1), xytext = (0, 0.75), arrowprops = { 'headwidth': 10, # 箭头头部的宽度 'headlength': 5, # 箭头头部的长度 'width': 4, # 箭头尾部的宽度 'facecolor': 'r', # 箭头的颜色 'shrink': 0.1, # 从箭尾到标注文本内容开始两端空隙长度 }, family='Times New Roman', # 标注文本字体为Times New Roman fontsize=18, # 文本大小为18 fontweight='bold', # 文本为粗体 color='green', # 文本颜色为红色 # ha = 'center' # 水平居中 ) plt.plot(0, 1, 'x', color = 'r') plt.plot(0, 0.75, 'x', color = 'r') plt.show()

这里需要注意:

plt.annotate()函数中的 fontdict 必须要以键值对的形式展示;plt.annotate()函数中的箭头坐标为箭头指向的坐标位置,标注文本的坐标位置依然是位于标注文本的左下角。如果想让标注文本位于箭头的正下方,只需要添加ha = center的键值对即可;

「通过上面绘制结果可以看出,添加ha = center之后,红色 x 现在位于 max 标注文本底部中间的位置,设置va和ha参数其实都是相对于给定标注文本的坐标位置进行对齐的。」 比如设置va = center, ha = center,此时标注文本的坐标位置位于标注文本的正中间。

【数据分析】快速上手matplotlib画图

【机器学习】详解训练集、测试集以及验证集

【资源分享】电子书 | 廖雪峰 Python3 教程(带标签)

【自然语言处理】使用 HanLP 统计二元语法中的频次



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭